草庐IT

Java Applet 不缓存

全部标签

c# - 如何确定 ASP.Net 缓存的总大小?

我在Web项目中使用ASP.net缓存,我正在为其编写一个“状态”页面,其中显示缓存中的项目,以及尽可能多的关于缓存的统计信息。有什么办法可以获得缓存数据的总大小(以字节为单位)?每个项目的大小会更好。我想在网页上显示它,所以我认为我不能使用性能计数器。 最佳答案 我正在查看我的性能监视器,在ASP.NETAppsv2.0.50727类别下,我有以下与缓存相关的计数器:使用的缓存百分比机器内存限制使用的缓存百分比进程内存限制此类别下还有许多其他与缓存相关的指标。这些应该能够为您提供百分比,然后如果您可以通过Cache.Effecti

c# - 如何清除 Linq to Sql 上的 DataContext 缓存

我正在使用LinqtoSql查询某些数据库,我只使用Linq从数据库中读取数据,并通过其他方式对其进行更改。(这是无法更改的,这是我们正在扩展的应用程序的限制,所有更新都必须通过其sdk)。这很好,但是我遇到了一些缓存问题,基本上,我使用Linq查询一行,然后通过外部方式删除它,然后如果我再次使用linqi查询该行,我会在外部创建一个新行得到了旧的(缓存的)数据。我无法关闭对象跟踪,因为这似乎会阻止数据上下文自动加载相关属性(外键)。有什么方法可以清除DataContex缓存吗?我在网上找到了一个方法,但它似乎不安全:http://blog.robustsoftware.co.uk/2

c# - WebConfigurationManager.AppSettings 的缓存?

我有很多读取我的Web配置文件的请求variable=WebConfigurationManager.AppSettings["BLAH"]WebConfigurationManager.AppSettings是每次都从磁盘读取,还是缓存在内存中?如果每次都从磁盘读取它,那么我想我需要将该变量移动到静态变量以提高我的应用程序性能。 最佳答案 配置设置缓存在内存中,每次调用此函数时不会解析web.config。 关于c#-WebConfigurationManager.AppSetting

C# HttpRuntime.Cache.Insert() 不持有缓存值

我正在尝试使用HttpRuntime.Cache.Insert()来缓存价格值,但在清除之前似乎只保留了几个小时或更长时间。我究竟做错了什么?我希望该值在缓存中保留3天。HttpRuntime.Cache.Insert(CacheName,Price,null,DateTime.Now.AddDays(3),TimeSpan.Zero); 最佳答案 简答您的应用程序池或网站关闭得太早了。延长站点的空闲超时,延长运行该站点的池的应用程序池生命周期。提高内存分配和请求限制。完整答案如果您想知道什么时候以及为什么从缓存中删除某些内容,您需

c# - .NET JIT 代码缓存泄漏?

我们有一个用.Net3.5编写的服务器组件。它在WindowsServer2008StandardEdition上作为服务运行。它工作得很好,但在一段时间(几天)后,我们注意到速度大幅下降和工作集增加。我们预计会发生某种内存泄漏,并使用WinDBG/SOS来分析进程的转储。不幸的是,GC堆没有显示任何泄漏,但我们注意到JIT代码堆已经从开始后的8MB增长到几天后的1GB以上。我们自己不使用任何动态代码生成技术。我们使用以动态代码生成而闻名的Linq2SQL,但我们不知道它是否会导致这样的问题。主要问题是是否有任何技术可以分析转储并检查WinDBG转储中显示的所有主机代码堆block来自

c# - SQL CLR 中的多线程缓存

是否有任何多线程缓存机制可以在SQLCLR函数中工作而不需要将程序集注册为“不安全”?同样描述了inthispost,简单地使用lock语句将在安全程序集上抛出异常:System.Security.HostProtectionException:AttemptedtoperformanoperationthatwasforbiddenbytheCLRhost.Theprotectedresources(onlyavailablewithfulltrust)were:AllThedemandedresourceswere:Synchronization,ExternalThreading

c# - 如何在 ASP.net Core 中进行 Per-Request 缓存

我的旧代码是这样的:publicstaticclassDbHelper{//OneconectionperrequestpublicstaticDatabaseCurrentDb(){if(HttpContext.Current.Items["CurrentDb"]==null){varretval=newDatabaseWithMVCMiniProfiler("MainConnectionString");HttpContext.Current.Items["CurrentDb"]=retval;returnretval;}return(Database)HttpContext.Cu

c# - ASP.NET Web API 跨请求缓存操作过滤器属性

在ASP.NETWebAPI(4.0.30506)中似乎有一些我以前从未见过的奇怪行为。我看到的是相同的操作过滤器属性实例在WebAPI请求中重复使用。如果此属性被注入(inject)依赖项,这尤其是一个问题,因为这些依赖项可能特定于Web请求。我知道属性最好是passive,但我的假设是操作过滤器属性未缓存。我搜索了任何描述此问题及其背后原因的文章、博客文章或Microsoft更改日志,但我找不到任何东西。这让我想知道我的配置是否有问题导致这种情况发生。然而,我能够在一个新的空VisualStudio2012WebAPI项目中重现这个问题。我所做的是使用带有“WebAPI”模板的Vi

c# - WeakReference 做一个好的缓存吗?

我有一个缓存,它使用Wea​​kReferences来缓存对象,使它们在内存压力的情况下自动从缓存中删除。我的问题是缓存的对象在存储在缓存中后很快就会被收集。缓存在64位应用程序中运行,尽管仍有超过4gig的内存可用,但所有缓存的对象都会被收集(它们通常存储在此时的G2堆中)。如进程浏览器所示,没有手动引发的垃圾收集。我可以应用什么方法使对象的生命周期更长一点? 最佳答案 使用Wea​​kReferences作为引用缓存对象的主要方式并不是一个好主意,因为正如Josh所说,您将受制于WeakReference和GC的任何future

c# - 您可以预缓存 ASP.NET 包吗?

每次我部署MVC网络应用程序时,我的服务器都必须重新缓存所有js和css包。因此,第一个View在部署后可能需要几秒钟才能呈现。有没有办法预缓存包?毕竟,文件在编译时是静态的。 最佳答案 解决方案为了解决这个问题,我们将默认的内存缓存替换为在应用程序池生命周期之后仍然存在的缓存。为此,我们继承了ScriptBundle并覆盖了CacheLookup()和UpdateCache()。//////overridecachefunctionalityinScriptBundletouse///persistentcacheinsteado